<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>set_cachesize</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
    <link rel="up" href="configuration_reference.html" title="Appendix B. DB_CONFIG Parameter Reference" />
    <link rel="prev" href="repmgr_site_parameter.html" title="repmgr_site" />
    <link rel="next" href="set_cache_max_parameter.html" title="set_cache_max" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">set_cachesize</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="repmgr_site_parameter.html">Prev</a> </td>
          <th width="60%" align="center">Appendix B. DB_CONFIG Parameter Reference</th>
          <td width="20%" align="right"> <a accesskey="n" href="set_cache_max_parameter.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="set_cachesize_parameter"></a>set_cachesize</h2>
          </div>
        </div>
      </div>
      <p>
                 Sets the size of the shared memory buffer pool — that is, the cache.
                 The cache should be the size of the normal working data set of the
                 application, with some small amount of additional memory for unusual
                 situations.  (Note: the working set is not the same as the number of
                 pages accessed simultaneously, and is usually much larger.)
            </p>
      <p>
                The value specified for this parameter is the
                <span class="emphasis"><em>maximum</em></span> value that your application
                will be able to use for your in-memory cache. If your
                application does not have enough data to fill up the amount
                of space specified here, then your application will only
                use the amount of memory required by the data that your
                application does have.
            </p>
      <p>
                 For the DB, the default cache size is 8MB. You cannot specify a
                 cache size value of less than 100KB.
             </p>
      <p>
                 Any cache size less than 500MB is automatically increased
                 by 25% to account for cache overhead; cache sizes larger
                 than 500MB are used as specified.  The maximum size of a
                 single cache is 4GB on 32-bit systems and 10TB on 64-bit
                 systems.  (All sizes are in powers-of-two, that is, 256KB
                 is 2^18 not 256,000.) 
            </p>
      <p>
                 It is possible to specify cache sizes large enough they
                 cannot be allocated contiguously on some architectures.  For example,
                 some releases of Solaris limit the amount of memory that may be
                 allocated contiguously by a process.  If <span class="bold"><strong>ncache</strong></span> is 0 or 1, the cache will be allocated
                 contiguously in memory.  If it is greater than 1, the cache will be
                 split across <span class="bold"><strong>ncache</strong></span> separate regions,
                 where the <span class="bold"><strong>region size</strong></span> is equal to the
                 initial cache size divided by <span class="bold"><strong>ncache</strong></span>.
            </p>
      <p>
                 The cache size supplied to this parameter will be
                 rounded to the nearest multiple of the region size and may not
                 be larger than the maximum possible cache size configured for your
                 application (use the 
                 <a class="xref" href="set_cache_max_parameter.html" title="set_cache_max">set_cache_max</a>
                 to do this).  The <span class="bold"><strong>ncache</strong></span>
                 parameter is ignored when resizing the cache.
            </p>
      <p>
                 The syntax of this parameter in the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is a
                 single line with the string
                 <code class="literal">set_cachesize</code>, one or more whitespace
                 characters, and the initial cache size specified in three
                 parts: the gigabytes of cache, the additional bytes of
                 cache, and the number of caches, also separated by
                 whitespace characters.  For example:
             </p>
      <pre class="programlisting">set_cachesize 2 524288000 1</pre>
      <p>
                 Creates a single 2.5GB physical cache.
            </p>
      <p>
                Note that this parameter is ignored unless it is specified
                before you initially create your environment, or you
                re-create your environment after changing it.
            </p>
      <p>
                For more information, see 
                <a class="xref" href="envset_cachesize.html" title="DbEnv::set_cachesize()">DbEnv::set_cachesize()</a>.
            </p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="repmgr_site_parameter.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="configuration_reference.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="set_cache_max_parameter.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">repmgr_site </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> set_cache_max</td>
        </tr>
      </table>
    </div>
  </body>
</html>
